//=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|
//
// Biblioteca contendo uma funcao para fazer leitura do teclado de 1 soh
//  caracter, sem mostrar o caracter digitado.
//________________________________________________________
//A.Z. - 08/05 => Criacao
//       09/07 => Pode receber uma string
//=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|
#ifndef READKEYBOARD_H
#define READKEYBOARD_H


#include <string>
#include <iostream>
#include <termios.h>
#include "meusTipos.h"
using namespace std;



string readKeyboard( MTcs msg = "" ){

  if( msg!="" ) cout << msg << endl;

  struct termios settings;
  tcgetattr(0,&settings);

  // Disable canonical mode, and set buffer size to 1 byte
  settings.c_lflag &= (~ICANON);
  settings.c_cc[VTIME] = 0;
  settings.c_cc[VMIN] = 1;

  tcsetattr(0,TCSANOW,&settings);

  system("stty -echo");       // turns echo off
  char ch[2]={getchar(),'\0'};
  system("stty echo");        // turns normal again (echoed input)

  return string(ch);
}


#endif /* READKEYBOARD_H */
